package org.lanqiao.tjut.driver;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.junit.Test;

public class Driver<T> {

	// 查询操作(输入具体值)
	public <T> T query(String str, ResultSetHandler<T> rsh) {
		// 返回值类型 泛型
		T lst = null;
		// 在dbutils工具中使用queryrunner进行查询工作
		QueryRunner qr = new QueryRunner(DBDataSource.getDataSource());
		try {
			lst = qr.query(str, rsh);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return lst;
	}
                        //使用通配符查询
	
	public   <T> T   query1(String str,ResultSetHandler<T> rsh,Object... params){
		 //返回值类型 泛型
		 T lst=null;
		 //在dbutils工具中使用queryrunner进行查询工作
		          QueryRunner qr   = new QueryRunner(DBDataSource.getDataSource(),true);
		try {
			lst=qr.query(str, rsh, params);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 return lst;
	 }
//插入语句
	public    int   insert(String str){
		 //返回值类型 泛型
		 int lst=0;
		 //在dbutils工具中使用queryrunner进行查询工作
		          QueryRunner qr   = new QueryRunner(DBDataSource.getDataSource());
		try {
			lst=qr.update(str);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 return lst;
		 
		 
	}
//插入语句 使用通配符
	public    int   insert1(String str,Object... params){
		 //返回值类型 整型
		 int lst=0;
		 //在dbutils工具中使用queryrunner进行查询工作
		          QueryRunner qr   = new QueryRunner(DBDataSource.getDataSource(),true);
		try {
			lst=qr.update(str, params);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 return lst;
	 }
	//数据更新语句 使用通配符
	public    int   update1(String str,Object... params){
		 //返回值类型 整型
		 int lst=0;
		 //在dbutils工具中使用queryrunner进行查询工作
		          QueryRunner qr   = new QueryRunner(DBDataSource.getDataSource(),true);
		try {
			lst=qr.update(str, params);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 return lst;
	 }
	//数据更新语句
	public    int   update(String str){
		 //返回值类型 泛型
		 int lst=0;
		 //在dbutils工具中使用queryrunner进行查询工作
		          QueryRunner qr   = new QueryRunner(DBDataSource.getDataSource());
		try {
			lst=qr.update(str);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 return lst;
		 
		 
	}
	
	
	
}
